Game processing making use of vibrations has conventionally been proposed. A configuration capable of providing a new operational feeling because of variation in vibrations in accordance with a difference in manner of representation of a character has been disclosed. A configuration in which a vibration portion which generates vibrations based on a control signal from an information processing apparatus is arranged inside a grip portion has been disclosed.
An exemplary embodiment provides a method of enhancing a degree of freedom in providing a plurality of types of vibrations to a user.
An exemplary embodiment provides a vibration control system that includes a first vibration command generation module that generates first vibration data defined by a combination of a first frequency and a first amplitude, a second vibration command generation module that generates second vibration data defined by a combination of a second frequency and a second amplitude, a vibration data synthesis module that outputs third vibration data defined by a combination of a third frequency and a third amplitude when the first vibration data and the second vibration data are input, and a vibration control module that causes a terminal to vibrate based on the third vibration data. The vibration data synthesis module includes a first amplitude determination module that determines the third amplitude by adding the first amplitude and the second amplitude to each other and a frequency determination module that determines a frequency within a range from the first frequency to the second frequency as the third frequency.
According to the present embodiment, when two pieces of vibration data are input, an amplitude is determined by adding amplitudes of respective pieces of vibration data and a value within a range defined by frequencies of the vibration data is adopted as a frequency. By vibrating a terminal with the amplitude and the frequency determined in such a procedure, a sensory impulse resulting from two types of vibrations expressed by two input pieces of vibration data can effectively be provided to a user.
According to one embodiment, the frequency determination module may determine the third frequency from the first frequency and the second frequency based on relation between the first amplitude and the second amplitude.
According to the present embodiment, such adjustment that influence by a frequency of any vibration data is to more strongly be reflected can be made based on relation between amplitudes of input vibration data, and two types of vibrations expressed by two input pieces of vibration data can effectively be synthesized with each other.
According to one embodiment, the frequency determination module may determine as the third frequency, an arithmetic mean of the first frequency and the second frequency as being weighted by a weight coefficient dependent on the first amplitude and the second amplitude.
According to the present embodiment, by using a weight coefficient dependent on amplitudes of input vibration data, such reflection that influence by a frequency of any vibration data is to more strongly be reflected can readily be given, and two types of vibrations expressed by two input pieces of vibration data can effectively be synthesized with each other. Since processing for calculating an arithmetic mean is relatively small in amount of operation, a processing speed can be increased.
According to one embodiment, the frequency determination module may determine as the third frequency, a geometric mean of the first frequency and the second frequency as being weighted by a weight coefficient dependent on the first amplitude and the second amplitude.
According to the present embodiment, by using a weight coefficient dependent on amplitudes of input vibration data, such reflection that influence by a frequency of any vibration data is to more strongly be reflected can readily be given and two types of vibrations expressed by two input pieces of vibration data can effectively be synthesized with each other. Taking into account kinetic energy generated by vibrations, a frequency is preferably subjected to exponentiation processing or logarithmic processing and synthesis processing with a physical phenomenon being further reflected can be performed by adopting processing for calculating a geometric mean.
According to one embodiment, the frequency determination module may determine a frequency of vibration data greater in amplitude of the first vibration data and the second vibration data as the third frequency.
According to the present embodiment, vibrations which seem to affect a user more of two types of vibrations expressed by two input pieces of vibration data can preferentially be output. Since one of two input pieces of vibration data is selected and output as it is, an amount of operation can be reduced.
According to one embodiment, the frequency determination module may determine a median between the first frequency and the second frequency as the third frequency.
According to the present embodiment, since a median of frequencies of two types of vibrations expressed by two input pieces of vibration data is determined as a frequency of synthesized vibrations, a sensory impulse resulting from vibrations expressed by the two pieces of vibration data can effectively be provided to the user. Since it is only necessary to calculate a median of two frequencies, an amount of operation can be reduced.
According to one embodiment, the frequency determination module may determine a geometric mean of the first frequency and the second frequency as the third frequency.
Taking into account kinetic energy generated by vibrations, a frequency is preferably subjected to exponentiation processing or logarithmic processing. According to the present embodiment, synthesis processing with a physical phenomenon being further reflected can be performed by adopting processing for calculating a geometric mean.
According to one embodiment, the vibration data synthesis module may further include a second amplitude determination module that determines one of the first amplitude and the second amplitude as the third amplitude and a selection module that activates one of the first amplitude determination module and the second amplitude determination module in response to a selection instruction.
According to the present embodiment, both of a value on which influence by both of two input pieces of vibration data are reflected and a value on which influence only by one piece of vibration data is reflected can selectively be used as an amplitude of vibrations synthesized from the two input pieces of vibration data. With such a selection function, a developer of an application can provide a sensory impulse in accordance with a scene of a produced application to a user.
According to one embodiment, the first and second vibration command generation modules may update vibration data in accordance with change per unit period in vibration waveform with which the terminal is to be vibrated.
According to the present embodiment, various vibrations of which strength is varied over time can be expressed.
According to one embodiment, the first vibration command generation module may further generate fourth vibration data defined by a combination of a fourth frequency and a fourth amplitude in addition to the first vibration data, the second vibration command generation module may further generate fifth vibration data defined by a combination of a fifth frequency and a fifth amplitude in addition to the second vibration data, and the vibration data synthesis module may further output sixth vibration data defined by a combination of a sixth frequency and a sixth amplitude in addition to the third vibration data when the fourth vibration data and the fifth vibration data are input in addition to the first vibration data and the second vibration data.
According to the present embodiment, a target vibration pattern can be defined by a plurality of pieces of vibration data and hence a sensory impulse through vibrations which is more close to real can be provided to a user.
According to one embodiment, the vibration data synthesis module may output the third vibration data from two pieces of vibration data of the first vibration data to the fourth vibration data and output the sixth vibration data from two remaining pieces of vibration data in accordance with a frequency of input vibration data.
According to the present embodiment, when a number of pieces of vibration data are input, vibration data close to each other in frequency can be synthesized with each other so that vibrations expressed by input vibration data are synthesized as accurately as possible and the vibrations can be provided to a user as a sensory impulse.
According to one embodiment, the vibration data synthesis module may be configured to accept as an input, vibration data output from another vibration data synthesis module.
According to the present embodiment, a flexible processing environment in conformity with an intention of a developer can be provided in an application in which one synthesized pattern should be generated from a number of pieces of vibration data.
According to one embodiment, the vibration control system may further include a game progress module that executes a game application, and the first and second vibration command generation modules may generate vibration data in response to an event generated by the game progress module.
According to the present embodiment, a sensory impulse through vibrations can be provided to a user in association with an event which occurs as a result of some kind of an operation by the user in a game application and a sense of realism of the game application can be enhanced.
According to one embodiment, the first vibration command generation module may generate the first vibration data in response to a first event generated by the game progress module and the second vibration command generation module may generate the second vibration data in response to a second event different from the first event.
According to the present embodiment, for example, in application processing such as game processing, vibrations different in property from each other can be generated in response to different operations by a user.
According to one embodiment, the game progress module may generate the event in response to an operation by a user.
According to the present embodiment, a sensory impulse through vibrations can be provided to a user in association with some kind of an operation by the user in a game application and hence an operational feeling in the game application can be improved.
According to one embodiment, the first vibration data may exhibit weak and continual vibrations and the second vibration data may exhibit strong and short vibrations.
According to the present embodiment, for example, vibrations corresponding to a background environment of a game application can be expressed with first vibration data and vibrations corresponding to an operation of a character can be expressed with second vibration data. A user can perceive any of such vibrations different in type.
According to one embodiment, the terminal may include a vibrator having a plurality of resonance frequencies and the first frequency and the second frequency may be set in accordance with the resonance frequency of the vibrator.
According to the present embodiment, vibrations can efficiently be generated from a vibrator by bringing vibrations in correspondence with a resonance frequency of the vibrator.
An exemplary embodiment provides a vibration control method that includes generating first vibration data defined by a combination of a first frequency and a first amplitude, generating second vibration data defined by a combination of a second frequency and a second amplitude, outputting third vibration data defined by a combination of a third frequency and a third amplitude when the first vibration data and the second vibration data are input, and causing a terminal to vibrate based on the third vibration data. The outputting third vibration data includes determining the third amplitude by adding the first amplitude and the second amplitude to each other and determining a frequency within a range from the first frequency to the second frequency as the third frequency.
An exemplary embodiment provides a non-transitory computer-readable storage medium with an executable vibration control program which causes a computer of a terminal to perform the vibration control method described above.
The foregoing and other objects, features, aspects and advantages of the exemplary embodiments will become more apparent from the following detailed description of the exemplary embodiments when taken in conjunction with the accompanying drawings.